1. Field of the Invention
The present invention relates generally to computer networks and, more specifically, to methods and computer program products for managing application performance on a network.
2. Description of Background
For software applications, network performance and availability are key determinants of end-to-end performance and user experience. In many cases, network performance is difficult to manage due to the distributed nature of network resources. Various approaches for managing network performance have been developed, including quality of service (QoS)-based techniques, techniques using network latency maps, and techniques using simple network management protocol (SNMP) to identify network bottlenecks.
Network performance management has traditionally been performed using quality of service (QoS) functionality. QoS refers to a set of control mechanisms that accord different priority levels to network traffic for different users or data flows. Illustratively, these control mechanisms guarantee a specified level of performance in accordance with requests received from application software. A network that supports  QoS may formulate a traffic contract with application software and reserve capacity in one or more network nodes. QoS monitors an achieved level of network performance, illustratively in terms of data rate and delay, and dynamically controls scheduling priorities in the network nodes. By analyzing traffic demands and the underlying structure of the network, a brokering mechanism applies QoS functionality to one or more applications to provide planning and admission control. Adequate brokering and QoS-based infrastructure suitable for managing network performance has not yet been developed.
As an alternative or supplement to a QoS-based approach, some existing techniques for managing network performance generate a network latency map by monitoring network activity. The network latency map shows traffic delays at each of a plurality of network nodes, whereupon traffic is routed along one or more paths to avoid nodes having the greatest delays. However, this approach is not effective for managing networks in the context of applications which generate a significant demand for bandwidth, such as voice conferencing services with a large number of participants or video conferencing services.
Other existing network management techniques utilize simple network management protocol (SNMP) to identify bottlenecks in the network. In conjunction with a network management system (NMS), SNMP monitors network-attached devices for conditions that may warrant administrative attention. Although SNMP is capable of identifying a bottleneck on the network, it is not capable of isolating bottlenecks on node-to-node paths.
In view of the foregoing considerations, what is needed is an improved technique for managing application performance on a network so as to provide enhanced performance relative to existing network management approaches.